package com.itheima.demo05;

public class Foodie implements Runnable{

    @Override
    public void run() {
        //添加死循环
        while (true) {
            //加上锁，锁唯一，在公用的Desk类中创建公共锁
            synchronized (Desk.lock) {
                //判断汉堡包是否已经吃完
                if (Desk.count == 0) {
                    break;
                }else {
                    //未吃够10个
                    //判断桌子上有没有汉堡包
                    if (Desk.flag){
                        //有，输出
                        System.out.println("吃货正在吃汉堡包！");
                        //修改桌子状态为无
                        Desk.flag = false;
                        //修改今天还能吃的汉堡包数量
                        Desk.count--;
                        //唤醒公共锁上所有等待的线程
                        Desk.lock.notifyAll();
                    }else {
                        //无，在公共锁上等待
                        try {
                            Desk.lock.wait();
                        } catch (InterruptedException e) {
                            e.printStackTrace();
                        }
                    }
                }
            }
        }
    }
}
